From 53d66bab0d4f71b39d7261d7e1a35735a882c1b7 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 4 Nov 2020 15:37:02 +0000 Subject: [PATCH] Require pango 1.47.0 --- debian/control | 4 +- debian/control.in | 4 +- ...evert-fontchooser-Add-user-filtering.patch | 62 ----- ...-Determine-sample-text-intelligently.patch | 211 ------------------ debian/patches/series | 2 - 5 files changed, 4 insertions(+), 279 deletions(-) delete mode 100644 debian/patches/debian/Partially-revert-fontchooser-Add-user-filtering.patch delete mode 100644 debian/patches/debian/Revert-fontchooser-Determine-sample-text-intelligently.patch diff --git a/debian/control b/debian/control index 7f0be08af1..131ec89840 100644 --- a/debian/control +++ b/debian/control @@ -27,7 +27,7 @@ Build-Depends: adwaita-icon-theme , libgraphene-1.0-dev (>= 1.9.1), libharfbuzz-dev (>= 0.9), libjson-glib-dev, - libpango1.0-dev (>= 1.45.5), + libpango1.0-dev (>= 1.47.0), librest-dev, librsvg2-common , librsvg2-dev, @@ -154,7 +154,7 @@ Depends: gir1.2-gtk-4.0 (= ${binary:Version}), libgdk-pixbuf2.0-dev (>= 2.30.0), libglib2.0-dev (>= 2.65.0), libgraphene-1.0-dev (>= 1.5.1), - libpango1.0-dev (>= 1.45.5), + libpango1.0-dev (>= 1.47.0), libwayland-dev (>= 1.9.91) [linux-any], libx11-dev, libxcomposite-dev, diff --git a/debian/control.in b/debian/control.in index 71d5a111a8..e7fc78c181 100644 --- a/debian/control.in +++ b/debian/control.in @@ -27,7 +27,7 @@ Build-Depends: adwaita-icon-theme , libgraphene-1.0-dev (>= 1.9.1), libharfbuzz-dev (>= 0.9), libjson-glib-dev, - libpango1.0-dev (>= 1.45.5), + libpango1.0-dev (>= 1.47.0), librest-dev, librsvg2-common , librsvg2-dev, @@ -154,7 +154,7 @@ Depends: gir1.2-gtk-4.0 (= ${binary:Version}), libgdk-pixbuf2.0-dev (>= 2.30.0), libglib2.0-dev (>= 2.65.0), libgraphene-1.0-dev (>= 1.5.1), - libpango1.0-dev (>= 1.45.5), + libpango1.0-dev (>= 1.47.0), libwayland-dev (>= 1.9.91) [linux-any], libx11-dev, libxcomposite-dev, diff --git a/debian/patches/debian/Partially-revert-fontchooser-Add-user-filtering.patch b/debian/patches/debian/Partially-revert-fontchooser-Add-user-filtering.patch deleted file mode 100644 index 6e4031f554..0000000000 --- a/debian/patches/debian/Partially-revert-fontchooser-Add-user-filtering.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Simon McVittie -Date: Mon, 12 Oct 2020 11:42:33 +0100 -Subject: Partially revert "fontchooser: Add user filtering" - -Add some #if 0 to stub out more code paths that need Pango 1.47. - -This partially reverts commit 09604eb3eb3928429cceeeb235eb4ff3a0bd5169. - -Forwarded: not-needed ---- - gtk/gtkfontchooserwidget.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c -index 293e64e..3031cd1 100644 ---- a/gtk/gtkfontchooserwidget.c -+++ b/gtk/gtkfontchooserwidget.c -@@ -361,7 +361,7 @@ user_filter_cb (gpointer item, - !pango_font_family_is_monospace (family)) - return FALSE; - --#ifdef HAVE_PANGOFT -+#if 0 - if (self->filter_by_language && - self->filter_language) - { -@@ -892,7 +892,7 @@ axis_free (gpointer v) - g_free (a); - } - --#ifdef HAVE_PANGOFT -+#if 0 - static void - select_added (GListModel *model, - guint position, -@@ -989,7 +989,7 @@ add_to_fontlist (GtkWidget *widget, - - n = gtk_slice_list_model_get_size (model); - --#ifdef HAVE_PANGOFT -+#if 0 - for (i = n; i < n + 10; i++) - { - gpointer item = g_list_model_get_item (child_model, i); -@@ -1035,7 +1035,7 @@ update_fontlist (GtkFontChooserWidget *self) - g_object_unref (model); - } - --#ifdef HAVE_PANGOFT -+#if 0 - static void - setup_lang_item (GtkSignalListItemFactory *factory, - gpointer item, -@@ -1166,7 +1166,7 @@ gtk_font_chooser_widget_init (GtkFontChooserWidget *self) - - gtk_custom_filter_set_filter_func (self->user_filter, user_filter_cb, self, NULL); - --#ifdef HAVE_PANGOFT -+#if 0 - setup_language_list (self); - #else - gtk_widget_hide (GTK_WIDGET (self->language_button)); diff --git a/debian/patches/debian/Revert-fontchooser-Determine-sample-text-intelligently.patch b/debian/patches/debian/Revert-fontchooser-Determine-sample-text-intelligently.patch deleted file mode 100644 index 148432358f..0000000000 --- a/debian/patches/debian/Revert-fontchooser-Determine-sample-text-intelligently.patch +++ /dev/null @@ -1,211 +0,0 @@ -From: Simon McVittie -Date: Mon, 12 Oct 2020 10:50:18 +0100 -Subject: Revert "fontchooser: Determine sample text intelligently" - -Debian doesn't have the Pango 1.47 development branch yet. - -This reverts commit 69d5dc7c9a3f704ba9d423035864382fea390d67. - -Forwarded: not-needed ---- - gtk/gtkfontchooserwidget.c | 137 +-------------------------------------------- - meson.build | 2 +- - 2 files changed, 2 insertions(+), 137 deletions(-) - -diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c -index 254752f..293e64e 100644 ---- a/gtk/gtkfontchooserwidget.c -+++ b/gtk/gtkfontchooserwidget.c -@@ -65,9 +65,6 @@ - #include "gtkstringsorter.h" - - #include --#if defined(HAVE_PANGOFT) && defined(HAVE_HARFBUZZ) --#include --#endif - - #include "language-names.h" - #include "script-names.h" -@@ -119,7 +116,6 @@ struct _GtkFontChooserWidget - GtkWidget *font_name_label; - char *preview_text; - gboolean show_preview_entry; -- gboolean preview_text_set; - - GtkWidget *size_label; - GtkWidget *size_spin; -@@ -232,7 +228,6 @@ gtk_font_chooser_widget_set_property (GObject *object, - break; - case GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT: - gtk_font_chooser_widget_set_preview_text (fontchooser, g_value_get_string (value)); -- fontchooser->preview_text_set = TRUE; - break; - case GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY: - gtk_font_chooser_widget_set_show_preview_entry (fontchooser, g_value_get_boolean (value)); -@@ -545,130 +540,6 @@ resize_by_scroll_cb (GtkEventControllerScroll *controller, - gtk_adjustment_get_step_increment (adj) * dx); - } - --static void --maybe_update_preview_text (GtkFontChooserWidget *self, -- PangoFontFace *face, -- PangoFontDescription *desc) --{ --#if defined(HAVE_PANGOFT) && defined(HAVE_HARFBUZZ) -- PangoContext *context; -- PangoFont *font; -- const char *sample; -- -- /* If the user has typed text into the entry, we don't touch it */ -- if (self->preview_text_set) -- return; -- -- if (self->filter_by_language && self->filter_language) -- { -- sample = pango_language_get_sample_string (self->filter_language); -- gtk_font_chooser_widget_set_preview_text (self, sample); -- return; -- } -- -- /* We do the work only once, and cache the result on the PangoFontFace */ -- sample = (const char *)g_object_get_data (G_OBJECT (face), "gtk-sample-text"); -- if (sample) -- { -- gtk_font_chooser_widget_set_preview_text (self, sample); -- return; -- } -- -- context = gtk_widget_get_pango_context (GTK_WIDGET (self)); -- font = pango_context_load_font (context, desc); -- -- if (PANGO_IS_FC_FONT (font)) -- { -- PangoLanguage **languages; -- GHashTable *langs = NULL; -- PangoLanguage *default_lang; -- PangoLanguage *alt_default = NULL; -- PangoLanguage *lang = NULL; -- int i; -- const char *p; -- -- default_lang = pango_language_get_default (); -- p = pango_language_to_string (default_lang); -- -- /* The default language tends to be of the form en-us. -- * Since fontconfig languages just have the language part, -- * and we want to use direct pointer comparisons, we need -- * an PangoLanguage for the shortened default language. -- */ -- if (strchr (p, '-')) -- { -- char q[10]; -- for (i = 0; p[i] != '-' && i < 9; i++) -- q[i] = p[i]; -- q[i] = '\0'; -- alt_default = pango_language_from_string (q); -- } -- -- languages = pango_fc_font_get_languages (PANGO_FC_FONT (font)); -- -- /* If the font supports the default language, just use it. */ -- for (i = 0; languages[i]; i++) -- { -- if (languages[i] == default_lang || languages[i] == alt_default) -- { -- lang = default_lang; -- goto found; -- } -- } -- -- /* Otherwise, we make a list of representative languages */ -- langs = g_hash_table_new (NULL, NULL); -- -- for (i = 0; languages[i]; i++) -- { -- const PangoScript *scripts; -- int num, j; -- -- scripts = pango_language_get_scripts (languages[i], &num); -- for (j = 0; j < num; j++) -- { -- lang = pango_script_get_sample_language (scripts[j]); -- if (lang) -- g_hash_table_add (langs, lang); -- } -- } -- -- /* ... and compare it to the users default and preferred languages */ -- if (g_hash_table_contains (langs, default_lang) || -- g_hash_table_contains (langs, alt_default)) -- { -- lang = default_lang; -- } -- else -- { -- PangoLanguage **preferred; -- -- preferred = pango_language_get_preferred (); -- if (preferred) -- { -- for (i = 0; preferred[i]; i++) -- { -- if (g_hash_table_contains (langs, preferred[i])) -- { -- lang = preferred[i]; -- break; -- } -- } -- } -- } -- g_hash_table_unref (langs); -- --found: -- sample = pango_language_get_sample_string (lang); -- gtk_font_chooser_widget_set_preview_text (self, sample); -- g_object_set_data (G_OBJECT (face), "gtk-sample-text", (gpointer)sample); -- } -- -- g_object_unref (font); --#endif --} -- -- - static void - selection_changed_cb (GtkSingleSelection *selection, - GParamSpec *pspec, -@@ -689,11 +560,8 @@ selection_changed_cb (GtkSingleSelection *selection, - desc = pango_font_face_describe (face); - pango_font_description_set_variations (self->font_desc, NULL); - gtk_font_chooser_widget_merge_font_desc (self, desc); -- g_simple_action_set_enabled (G_SIMPLE_ACTION (self->tweak_action), TRUE); -- -- maybe_update_preview_text (self, face, desc); -- - pango_font_description_free (desc); -+ g_simple_action_set_enabled (G_SIMPLE_ACTION (self->tweak_action), TRUE); - } - else - { -@@ -2374,9 +2242,6 @@ static void - gtk_font_chooser_widget_set_preview_text (GtkFontChooserWidget *fontchooser, - const char *text) - { -- if (fontchooser->preview_text == text) -- return; -- - g_free (fontchooser->preview_text); - fontchooser->preview_text = g_strdup (text); - -diff --git a/meson.build b/meson.build -index fa39070..b16fafb 100644 ---- a/meson.build -+++ b/meson.build -@@ -23,7 +23,7 @@ else - endif - - glib_req = '>= @0@.@1@.@2@'.format(glib_major_req, glib_minor_req, glib_micro_req) --pango_req = '>= 1.47.0' # keep this in sync with .gitlab-ci/test-msys.sh -+pango_req = '>= 1.45.5' - fribidi_req = '>= 0.19.7' - cairo_req = '>= 1.14.0' - gdk_pixbuf_req = '>= 2.30.0' diff --git a/debian/patches/series b/debian/patches/series index 13c57d766b..b496eced3c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1 @@ Require-gtk-doc-1.33.patch -debian/Revert-fontchooser-Determine-sample-text-intelligently.patch -debian/Partially-revert-fontchooser-Add-user-filtering.patch -- 2.30.2